package com.yanqu.road.server.logic.recharge.limit.activity;

import com.yanqu.road.entity.activity.ActivityInfo;
import com.yanqu.road.entity.config.goods.MallInfo;
import com.yanqu.road.entity.enums.eSystemId;
import com.yanqu.road.entity.mall.LimitBuyResult;
import com.yanqu.road.server.gameplayer.module.activity.fund.ActivityFundModule;
import com.yanqu.road.server.manger.activity.ActivityMgr;
import com.yanqu.road.server.manger.config.SystemOpenMgr;
import com.yanqu.road.server.protocol.GameErrorCode;

public class ApprenticeFoundActivityMallLimit extends BaseActivityMallLimit{

        public ApprenticeFoundActivityMallLimit(long userId, MallInfo mallInfo, ActivityInfo activityInfo) {
            super(userId, mallInfo, activityInfo);
        }

        @Override
        protected int activityCheck() {
            if(!ActivityMgr.activityInTime(activityInfo)){
                return GameErrorCode.E_ACTIVITY_NO_IN_TIME_CANNOT_BUY;
            }
            return 0;
        }

        @Override
        protected boolean isSystemUnLock() {
            return SystemOpenMgr.systemOpen(player, eSystemId.Apprentice.getValue());
        }

        @Override
        protected LimitBuyResult buyCountLimit() {
            LimitBuyResult limitBuyResult = new LimitBuyResult();
            limitBuyResult.setLimitCount(1);
            return limitBuyResult;
        }

        @Override
        protected int logicCheck() {
            boolean buyToken = player.getModule(ActivityFundModule.class).isBuy(mallInfo);
            if (buyToken) {
                return GameErrorCode.E_MALL_LIMIT_BUY;
            }
            return 0;
        }

}
